package com.ky.tms.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author chengkaimao
 * @since 2020-04-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tms_invoice")
public class TmsInvoice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 开票资料
     */
    private String invoiceInfo;

    /**
     * 发票金额
     */
    private BigDecimal invoiceAmount;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 已收金额
     */
    private BigDecimal receiptAmount;

    /**
     * 发票号
     */
    private String invoiceNo;

    /**
     * 回款单号
     */
    private String receiptNo;

    /**
     * 是否有效
     */
    private Integer isValid;

    /**
     * 是否锁定
     */
    private Integer isLock;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 开票是否开全
     */
    @TableField(exist = false)
    private String isFull;

    /**
     * 收款是否收全
     */
    @TableField(exist = false)
    private String isPayFull;

    /**
     * 相关联的订单
     */
    @TableField(exist = false)
    List<TmsOrder> orders;

    /**
     * 查询时间段
     */
    @TableField(exist = false)
    private List<String> createTimeArray;

    /**
     * 订单loadNo
     */
    @TableField(exist = false)
    private String loadNo;




}
